Combining algebraic effects with continuations

نویسندگان

  • Martin Hyland
  • Paul Blain Levy
  • Gordon D. Plotkin
  • John Power
چکیده

We consider the natural combinations of algebraic computational effects such as side-effects, exceptions, interactive input/output, and nondeterminism with continuations. Continuations are not an algebraic effect, but previously developed combinations of algebraic effects given by sum and tensor extend, with effort, to include commonly used combinations of the various algebraic effects with continuations. Continuations also give rise to a third sort of combination, that given by applying the continuations monad transformer to an algebraic effect. We investigate the extent to which sum and tensor extend from algebraic effects to arbitrary monads, and the extent to which Felleisen et al’s C operator extends from continuations to its combination with algebraic effects. To do all this, we use Dubuc’s characterisation of strong monads in terms of enriched large Lawvere theories.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Programming with algebraic effects and handlers

Eff is a programming language based on the algebraic approach to computational effects, in which effects are viewed as algebraic operations and effect handlers as homomorphisms from free algebras. Eff supports first-class effects and handlers through which we may easily define new computational effects, seamlessly combine existing ones, and handle them in novel ways. We give a denotational sema...

متن کامل

Linear continuations and duality

One fundamental aspect of linear logic is that its conjunction behaves in the same way as a tensor product in linear algebra. Guided by this intuition, we investigate the algebraic status of disjunction – the dual of conjunction – in the presence of linear continuations. We start from the observation that every monoidal category equipped with a tensorial negation inherits a lax monoidal structu...

متن کامل

A Counterexample to Tensorability of Effects

Monads are widely used in programming semantics and in functional programming to encapsulate notions of side-effect, such as state, exceptions, input/output, or continuations. One of their advantages is that they allow for a modular treatment of effects, using composition operators such as sum and tensor. Here, the sum represents the non-interacting combination of effects, while the tensor impo...

متن کامل

Continuations and Web Servers

Programming web applications in direct style with the help of continuations is a much simpler, safer, modular and better-performing technology than the current dominating “page-centric” technology combining CGI scripts, active pages or servlets. This paper discusses the use of continuations in the context of web applications, the problems they solve as well as some new problems they introduce.

متن کامل

Effekt: Extensible Algebraic Effects in Scala

Algebraic effects are an interesting way to structure effectful programs and offer new modularity properties. We present the Scala library Effekt, which is implemented in terms of a monad for multi-prompt delimited continuations and centered around capability passing. This makes the newly proposed feature of implicit function types a perfect fit for the syntax of our library. Basing the library...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:
  • Theor. Comput. Sci.

دوره 375  شماره 

صفحات  -

تاریخ انتشار 2007